#include <iostream>
#include "prelude.h"


using namespace std;

//#include<basic_1.phs.h>
//#include<basic_2.phs.h>
//#include<basic_3.phs.h>
//#include<bind_1.phs.h>
//#include<bind_2.phs.h>
//#include<compose_lambda_lifting.phs.h>
//#include<compose_lambda_lifting_2.phs.h>


//#include<factorial_guard.phs.h>
//#include<guard_lambdaexp.phs.h>

//#include<if_facrorial.phs.h>
//#include<if_lambda_complex.phs.h>
//#include<if_test.phs.h>
//#include<lambda_lifting.phs.h>
//#include<lamdalifting2.phs.h>

#include<lazy_list.phs.h>
//#include<lazy_1.phs.h>
//#include<lazy_bind_complex.phs.h>
//#include<list.phs.h>
//#include<list_pattern_matching.phs.h>
//#include<locals.phs.h>
//#include<locals2.phs.h>
//#include<locals_lazy_compose.phs.h>
//#include<operators_comments.phs.h>
//#include<pattern_matching_factorial.phs.h>

//#include<simple_pattern_matching.phs.h>
//#include<usertypes.phs.h>


int main()
{
    //cout << match::app(Int<2>)::app(Int<2>)::app(Int<2>)::evaluate  << endl;
    cout << maint::evaluate  << endl;
    return 0;
}


